package com.xms.sdk.data;

import com.xms.core.data.Entity;
import com.xms.core.exception.XmsException;
import com.xms.core.model.PagedList;
import com.xms.sdk.core.DynamicData;
import com.xms.sdk.core.RetrieverParameter;
import com.xms.sdk.query.QueryResult;

import java.sql.SQLException;
import java.util.List;

/**
 * <p>
 * 实体数据查询接口
 * </p>
 *
 * @author migo
 * @since 2021/9/1
 */
public interface IOrganizationDataRetriever {
    QueryResult<PagedList<Entity>> paged(RetrieverParameter parameters) throws Exception;

    QueryResult<List<Entity>> list(RetrieverParameter parameters) throws SQLException, XmsException;

    QueryResult<Entity> getOne(RetrieverParameter parameters) throws Exception;

    QueryResult<PagedList<DynamicData>> dynamicPaged(RetrieverParameter parameters) throws Exception;

    QueryResult<List<DynamicData>> dynamicList(RetrieverParameter parameters) throws SQLException, XmsException;

    QueryResult<DynamicData> dynamicOne(RetrieverParameter parameters) throws Exception;
}
